/**
 * 
 */
package org.yelongframework.model.support.mybatis.sql.fragment;

import org.yelongframework.lang.Nullable;

/**
 * mybatisSQL占位符支持，实现该接口的对象可以设置在mybatis中的占位符，并提供占位符对应的值
 * 
 * @since 1.0.0
 */
public interface MybatisSqlPlaceholderable {

	/**
	 * @return 所有MyBatis中使用的占位符
	 */
	@Nullable
	String[] getMyBatisPlaceholderAll();

	/**
	 * 根据片段占位符获取占位符的值,placeholder如同${} 或者 #{} 中使用的参数
	 * 
	 * @param placeholder 片段占位符
	 * @return 对应placeholder占位符的值
	 */
	@Nullable
	Object getMyBatisPlaceholderValue(String placeholder);

}
